// Copyright David Abrahams and Aleksey Gurtovoy 2004.
// Distributed under the Boost Software License, Version 1.0. 
// (See accompanying file LICENSE_1_0.txt or copy at 
// http://www.boost.org/LICENSE_1_0.txt)

#if defined(__MWERKS__)
#   pragma template_depth(2000)
#endif

#if !defined(N)
#   error "N is not defined!"
#endif

template <class H, class T> struct node { enum { value = 0 }; };

#if 0

#elif N <= 0
template< class T > struct test { typedef T t; enum { value = 0 }; };

#elif N <= 10
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 20
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 30
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 40
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 50
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 60
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 70
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 80
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 90
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 100
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 110
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 120
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 130
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 140
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 150
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 160
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 170
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 180
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 190
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 200
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 210
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 220
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 230
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 240
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 250
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 260
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 270
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 280
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 290
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 300
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 310
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 320
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 330
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 340
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 350
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 360
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 370
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 380
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 390
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 400
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 410
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 420
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 430
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 440
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 450
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 460
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 470
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 480
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#elif N <= 490
template< class T > struct test { typedef node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, node<T, T > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t; enum { value = 0 }; };

#endif


template< int> struct int_ { enum { value = 0 }; };

int main()
{
    return 
          test< int_<0> >::value 
        + test< int_<1> >::value
        + test< int_<2> >::value
        + test< int_<3> >::value
        + test< int_<4> >::value
        + test< int_<5> >::value
        + test< int_<6> >::value
        + test< int_<7> >::value
        + test< int_<8> >::value
        + test< int_<9> >::value
        ;
}
